Body的节点事件
描述:
物理对象碰撞事件的信号槽定义。将物理体对象的“receivingContact“属性设置为true时,可以触发并接收到这些信号槽事件。
用法示例:
-- 可以使用以下形式的代码来注册监听这些事件:
body.receivingContact = true
body:slot("ContactStart", function(other: Body, point: Vec2, normal: Vec2, enabled: boolean)
print("感应器碰撞到了物理体", other, point, normal, enabled)
end)
BodyEnter
类型: 节点事件。
描述:
当物理体对象与传感器对象碰撞时触发。此事件当物理体附加了传感器时就会触发。
签名:
["BodyEnter"]: function(other: Body, sensorTag: integer)
参数:
参数名 | 类型 | 描述 |
---|---|---|
other | Body | 当前发生碰撞的物理体对象。 |
sensorTag | integer | 触发此碰撞事件的传感器的标签编号。 |
BodyLeave
类型: 节点事件。
描述:
当物理体对象不再与传感器对象碰撞时触发。此事件当物理体附加了传感器时就会触发。
签名:
["BodyLeave"]: function(other: Body, sensorTag: integer)
参数:
参数名 | 类型 | 描述 |
---|---|---|
other | Body | 当前结束碰撞的物理体对象。 |
sensorTag | integer | 触发此碰撞事件的传感器的标签。 |
ContactStart
类型: 节点事件。
描述:
当一个物理体对象开始与另一个物理体碰撞时触发。 需要将物理体对象的“receivingContact”属性设置为true才会触发。
签名:
["ContactStart"]: function(other: Body, point: Vec2, normal: Vec2, enabled: boolean)
参数:
参数名 | 类型 | 描述 |
---|---|---|
other | Body | 被碰撞的物理体对象。 |
point | Vec2 | 世界坐标系中的碰撞点。 |
normal | Vec2 | 世界坐标系中的接触表面法向量。 |
enabled | boolean | 碰撞是否启用。被过滤的碰撞仍会触发此事件,但启用状态将为false。 |
ContactEnd
类型: 节点事件。
描述:
当一个物理体对象停止与另一个物理体碰撞时触发。 需要将物理体对象的“receivingContact”属性设置为true才会触发。
签名:
["ContactEnd"]: function(other: Body, point: Vec2, normal: Vec2)
参数:
参数名 | 类型 | 描述 |
---|---|---|
other | Body | 结束碰撞的物理体对象。 |
point | Vec2 | 世界坐标系中的碰撞点。 |
normal | Vec2 | 世界坐标系中的接触表面法向量。 |